package com.xique.park.controller.client.web.bean.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

@Data
public class ParkInOut {

    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    private Long id;

    /**
     * 入场车牌
     */
    private String inCarPlate;

    /**
     * 备用进车牌
     */
    private String inCarPlateBak;

    /**
     * 车型
     */
    private String carType;

    private String carTypeLabel;

    /**
     * 车辆计费id
     */
    private Long chargeId;

    /**
     * 固定车-车辆计费id对应的名字
     */
    private String fixedChargeName;

    /**
     * 临时车-车辆计费id对应的名字
     */
    private String tempChargeName;

    /**
     * 入场时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date inTime;

    /**
     * 入场缴费时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date inChargeTime;

    /**
     * 入场图片：多张图片用；分割
     */
    private String inPic;

    /**
     * 入场通道id
     */
    private Long inLaneId;

    /**
     * 入场通道名称
     */
    private String laneName;

    /**
     * 入场类型：1-自动放行 2-人工放行 3----
     */
    private String inType;

    private String inTypeLabel;

    /**
     * 入场备注
     */
    private String inRemark;

    /**
     * 状态：预留
     */
    private String inStatus;

    /**
     * 车牌颜色 1-蓝色 2-黄色
     */
    private String plateColor;

    /**
     * 是否上传交管局接口：预留
     */
    private String isTaffic;

    /**
     * 编号
     */
    private Long outId;

    /**
     * 入场记录id
     */
    private Long inId;

    /**
     * 出场车牌
     */
    private String outCarPlate;

    /**
     * 备用出车牌
     */
    private String outCarPlateBak;

    /**
     * 出场时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date outTime;

    /**
     * 出场缴费时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date outChargeTime;

    /**
     * 出场图片：多张图片用；分割
     */
    private String outPic;

    /**
     * 出场通道id
     */
    private Long outLaneId;

    private String outLaneName;

    /**
     * 出场类型：1-未缴费出场（子母车库、平行车库） 2-缴费出场 3-人工放行 4-异常出场
     */
    private String outType;

    /**
     * 出场类型名称
     */
    private String outTypeName;

    /**
     * 出场车类型，入场需要车类型吗？
     */
    private String outCarType;

    /**
     * 出场备注
     */
    private String outRemark;

    /**
     * 停车时长，分
     */
    private Long stopTime;

    /**
     * 应收金额，单位：分
     */
    private Long mayFee;

    /**
     * 实收金额，单位：分
     */
    private Long actualFee;

    /**
     * 优惠减免金额，单位：分
     */
    private Long reduceFee;

    /**
     * 欠费金额，单位：分
     */
    private Long oweFee;

    /**
     * 出场状态
     */
    private String outStatus;

    private Long parkId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    //入场更新人
    private Long inUpdateUser;
    /**
     * 更新人账号
     */
    private String inUpdateUserName;

    //出场更新人
    private Long outUpdateUser;
    /**
     * 更新人账号
     */
    private String outUpdateUserName;

    /**
     * 入场修正时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date inUpdateTime;

    /**
     * 出场修正时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date outUpdateTime;

    /**
     * 车辆管理大类
     */
    private String inMngType;

    /**
     * 车辆管理类型
     */
    private Long inMngTypeId;

    private String inMngTypeName;

    /**
     * 车辆管理大类
     */
    private String outMngType;

    /**
     * 车辆管理类型
     */
    private Long outMngTypeId;

    private String outMngTypeName;

    /**
     * 停车流水号
     */
    private String parkingSerial;

    private Long parkUserId;

    /**
     * 是否在场，Y - 在场，N - 不在场
     */
    private String presence;

    private String status;

    /**
     * 计算后的进场时间
     */
    private Date computingTime;

    /**
     * 订单记录ID
     */
    private Long parkingOrderId;
}
